Conventionally, in simulation of a system composed of multiple components, such as a model of a physical or social phenomenon, in order to calculate time variation of the system, energy minimization, relaxation to self-consistency, or the like, state values for all components and a conditional expression or state transition expression relating to the components are calculated one by one in turn, repeatedly over and over again, and the state values are updated little by little, whereby the precise numerical values are determined. Therefore, it requires an amount of calculation time proportional to the power of the number of all components and thus if the number of the components is enormous, calculation time takes too much time; accordingly, there is a problem in that it becomes difficult to obtain results.
Particularly, in the case of simulation of time variation of a physical system, just determining all state values at a given time step requires energy minimization and relaxation to self-consistency and thus there is a need to perform iterative calculation for correcting each state value. Since such calculation is repeatedly performed for each time step, enormous calculation time is required. In the case of a system in which all components change greatly or a system for obtaining very precise calculation results, such an amount of calculation time may be absolutely needed. A drawback is that, even in other cases, in conventional calculation methods, it always requires about an equal amount of calculation time.
As a solution of a search or optimization problem by a computing machine, there is a method, such as branch and bound, in which a component list representing the priority order of calculation is provided and calculation is performed according to the list without calculating all components in turn. This method, however, aims at correct computation and a calculation process of component data and an update to the priority order list are processed one by one as a software algorithm and hence, the method has a drawback in that, an update to the list takes time, which in turn increases overall processing time. In addition, when such a software scheme is applied to the case in which data processing for each component is relatively simple, such as the aforementioned computer simulation of physical systems, there is a drawback in that the proportion of costs for calculation of priority order to the cost for data processing for each component is higher and thus calculation efficiency does not improve much. As a scheme of parallel computation, there is an invention in which a scheduler schedules multiple processes into multiple processors, such as a parallel computing system of patent document 1, for example. However, the invention is for load distribution and thus cannot be applied to a process of minutely dividing calculation of each component in simulation calculation. Although an apparatus that arranges data by hardware at high speeds is already invented, such as a sorting apparatus of patent document 2, the apparatus does not have a mechanism for rearranging the data by importance and thus cannot be used in terms of an object of the present invention.
Patent Document 1: Japanese Patent Application Laid-Open No. 11-3321
Patent Document 2—Japanese Patent Application Laid-Open No. 11-305993